package org.hardstone.domain.doc.resource;


import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.Table;
import org.hardstone.domain.BaseCategory;
import org.hardstone.domain.BaseItemDomain;
import org.hardstone.domain.Status;

@Entity
@Table(name = "Form")
public class Form extends BaseItemDomain<Long> {

    @Column(name = "form_type")
    private long formType;        //form Type

    @Column(name = "form_name")
    private String formName;        //form Name

    @Column(name = "form_description")
    private String formDescription;     //formDescription

    @Column(name = "form_duration")
    private Long formDuration;      //form Duration

    @Column(name = "form_attribute")
    private String formAttribute;       //form Attribute

    @Column(name = "form_tags")
    private String formTags;        //form Tags

    @Column(name = "form_url")
    private String formUrl;     //form Url

    @Column(name = "form_ask_date")
    private String formAskDate;     //form AskDate

    @Column(name = "form_modify_date")
    private String formModifyDate;      //form ModifyDate

    public Form() {
    }

    public Form(long formType, String formName, String formDescription, Long formDuration, String formAttribute, String formTags, String formUrl, String formAskDate, String formModifyDate) {
        this.formType = formType;
        this.formName = formName;
        this.formDescription = formDescription;
        this.formDuration = formDuration;
        this.formAttribute = formAttribute;
        this.formTags = formTags;
        this.formUrl = formUrl;
        this.formAskDate = formAskDate;
        this.formModifyDate = formModifyDate;
    }

    public Form(Long itemGroupId, String name, BaseCategory baseCategory, Long userId, Long userGroupId, int authority, String url, String description, Status status, String askDate, String modifyDate, String tags, String attribute, long formType, String formName, String formDescription, Long formDuration, String formAttribute, String formTags, String formUrl, String formAskDate, String formModifyDate) {
        super(itemGroupId, name, baseCategory, userId, userGroupId, authority, url, description, status, askDate, modifyDate, tags, attribute);
        this.formType = formType;
        this.formName = formName;
        this.formDescription = formDescription;
        this.formDuration = formDuration;
        this.formAttribute = formAttribute;
        this.formTags = formTags;
        this.formUrl = formUrl;
        this.formAskDate = formAskDate;
        this.formModifyDate = formModifyDate;
    }

    public Form(Long id, Long itemGroupId, String name, BaseCategory baseCategory, Long userId, Long userGroupId, int authority, String url, String description, Status status, String askDate, String modifyDate, String tags, String attribute, long formType, String formName, String formDescription, Long formDuration, String formAttribute, String formTags, String formUrl, String formAskDate, String formModifyDate) {
        super(id, itemGroupId, name, baseCategory, userId, userGroupId, authority, url, description, status, askDate, modifyDate, tags, attribute);
        this.formType = formType;
        this.formName = formName;
        this.formDescription = formDescription;
        this.formDuration = formDuration;
        this.formAttribute = formAttribute;
        this.formTags = formTags;
        this.formUrl = formUrl;
        this.formAskDate = formAskDate;
        this.formModifyDate = formModifyDate;
    }

    public long getFormType() {
        return formType;
    }

    public void setFormType(long formType) {
        this.formType = formType;
    }

    public String getFormName() {
        return formName;
    }

    public void setFormName(String formName) {
        this.formName = formName;
    }

    public String getFormDescription() {
        return formDescription;
    }

    public void setFormDescription(String formDescription) {
        this.formDescription = formDescription;
    }

    public Long getFormDuration() {
        return formDuration;
    }

    public void setFormDuration(Long formDuration) {
        this.formDuration = formDuration;
    }

    public String getFormAttribute() {
        return formAttribute;
    }

    public void setFormAttribute(String formAttribute) {
        this.formAttribute = formAttribute;
    }

    public String getFormTags() {
        return formTags;
    }

    public void setFormTags(String formTags) {
        this.formTags = formTags;
    }

    public String getFormUrl() {
        return formUrl;
    }

    public void setFormUrl(String formUrl) {
        this.formUrl = formUrl;
    }

    public String getFormAskDate() {
        return formAskDate;
    }

    public void setFormAskDate(String formAskDate) {
        this.formAskDate = formAskDate;
    }

    public String getFormModifyDate() {
        return formModifyDate;
    }

    public void setFormModifyDate(String formModifyDate) {
        this.formModifyDate = formModifyDate;
    }
}